<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	// "use strict";
	// 对象拦截器方法 Object.defineProperty
	// 接收三个参数：
	// 1- 要拦截的对象
	// 2- 要拦截的对象属性名（字符串）
	// 3- 描述对象
	var obj = {
		age: 12
	}
	var _age = 0;
	Object.defineProperty(obj, "age", {
		// value:90,// 设置初始值
		// writable:true,// 是否允许被修改，默认为true
		enumerable: false,// 是否允许被遍历，默认为true
		configurable: false,// 是否允许被删除，默认为true
		get: function () {
			return _age;
		},
		set: function (v) {
			_age = v;
		}
	})
	// 修改
	// obj.age = 100;
	// console.log(obj.age);
	
	// 遍历
	// for(var key in obj){
	// 	console.log(key,obj[key])
	// }
	// console.log(obj.age)
	
	// 删除
	// delete obj.age;
	// console.log(obj);
	
	obj.age = 90;
	console.log(obj.age);
</script>
</html>